home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / slaeda.z / slaeda
Encoding:
Text File  |  2002-10-03  |  5.1 KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSLLLLAAAAEEEEDDDDAAAA((((3333SSSS))))                                                          SSSSLLLLAAAAEEEEDDDDAAAA((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SLAEDA - compute the Z vector corresponding to the merge step in the
  10.      CURLVLth step of the merge process with TLVLS steps for the CURPBMth
  11.      problem
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE SLAEDA( N, TLVLS, CURLVL, CURPBM, PRMPTR, PERM, GIVPTR,
  15.                         GIVCOL, GIVNUM, Q, QPTR, Z, ZTEMP, INFO )
  16.  
  17.          INTEGER        CURLVL, CURPBM, INFO, N, TLVLS
  18.  
  19.          INTEGER        GIVCOL( 2, * ), GIVPTR( * ), PERM( * ), PRMPTR( * ),
  20.                         QPTR( * )
  21.  
  22.          REAL           GIVNUM( 2, * ), Q( * ), Z( * ), ZTEMP( * )
  23.  
  24. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  25.      These routines are part of the SCSL Scientific Library and can be loaded
  26.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  27.      directs the linker to use the multi-processor version of the library.
  28.  
  29.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  30.      4 bytes (32 bits). Another version of SCSL is available in which integers
  31.      are 8 bytes (64 bits).  This version allows the user access to larger
  32.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  33.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  34.      only one of the two versions; 4-byte integer and 8-byte integer library
  35.      calls cannot be mixed.
  36.  
  37. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  38.      SLAEDA computes the Z vector corresponding to the merge step in the
  39.      CURLVLth step of the merge process with TLVLS steps for the CURPBMth
  40.      problem.
  41.  
  42. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  43.      N      (input) INTEGER
  44.             The dimension of the symmetric tridiagonal matrix.  N >= 0.
  45.  
  46.      TLVLS  (input) INTEGER
  47.             The total number of merging levels in the overall divide and
  48.             conquer tree.
  49.  
  50.             CURLVL (input) INTEGER The current level in the overall merge
  51.             routine, 0 <= curlvl <= tlvls.
  52.  
  53.             CURPBM (input) INTEGER The current problem in the current level in
  54.             the overall merge routine (counting from upper left to lower
  55.             right).
  56.  
  57.             PRMPTR (input) INTEGER array, dimension (N lg N) Contains a list
  58.             of pointers which indicate where in PERM a level's permutation is
  59.             stored.  PRMPTR(i+1) - PRMPTR(i) indicates the size of the
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSLLLLAAAAEEEEDDDDAAAA((((3333SSSS))))                                                          SSSSLLLLAAAAEEEEDDDDAAAA((((3333SSSS))))
  71.  
  72.  
  73.  
  74.             permutation and incidentally the size of the full, non-deflated
  75.             problem.
  76.  
  77.      PERM   (input) INTEGER array, dimension (N lg N)
  78.             Contains the permutations (from deflation and sorting) to be
  79.             applied to each eigenblock.
  80.  
  81.             GIVPTR (input) INTEGER array, dimension (N lg N) Contains a list
  82.             of pointers which indicate where in GIVCOL a level's Givens
  83.             rotations are stored.  GIVPTR(i+1) - GIVPTR(i) indicates the
  84.             number of Givens rotations.
  85.  
  86.             GIVCOL (input) INTEGER array, dimension (2, N lg N) Each pair of
  87.             numbers indicates a pair of columns to take place in a Givens
  88.             rotation.
  89.  
  90.             GIVNUM (input) REAL array, dimension (2, N lg N) Each number
  91.             indicates the S value to be used in the corresponding Givens
  92.             rotation.
  93.  
  94.      Q      (input) REAL array, dimension (N**2)
  95.             Contains the square eigenblocks from previous levels, the starting
  96.             positions for blocks are given by QPTR.
  97.  
  98.      QPTR   (input) INTEGER array, dimension (N+2)
  99.             Contains a list of pointers which indicate where in Q an
  100.             eigenblock is stored.  SQRT( QPTR(i+1) - QPTR(i) ) indicates the
  101.             size of the block.
  102.  
  103.      Z      (output) REAL array, dimension (N)
  104.             On output this vector contains the updating vector (the last row
  105.             of the first sub-eigenvector matrix and the first row of the
  106.             second sub-eigenvector matrix).
  107.  
  108.      ZTEMP  (workspace) REAL array, dimension (N)
  109.  
  110.      INFO   (output) INTEGER
  111.             = 0:  successful exit.
  112.             < 0:  if INFO = -i, the i-th argument had an illegal value.
  113.  
  114. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  115.      Based on contributions by
  116.         Jeff Rutter, Computer Science Division, University of California
  117.         at Berkeley, USA
  118.  
  119.  
  120. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  121.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  122.  
  123.      This man page is available only online.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.